Windows Presentation Foundation (WPF) is Microsoft's presentation subsystem for .NET 3.0, which is a key part of the Microsoft Windows Vista operating system. In WPF, applications can operate over many types of data, including simple objects, collection objects, WPF elements, XML data, ADO.NET objects, and objects returned from Web services. To facilitate data visualization and interaction, WPF implements a mechanism that allows the declaratively binding of these types of data sources to an application user interface (UI). More information is available online within the Microsoft Developer Network (MSDN) documentation for WPF.
Referring to FIG. 1, a data binding is a formal relationship between a binding source 104 (the data source object) and a binding target 102 (the data consumer) that ensures synchronization between the two.
In WPF, a “binding” object 108 is used to bind the value of a source Property 110 on a source CLR object 104 to a target Dependency Property 106 on a target Dependency Object 102. This is traditionally accomplished by creating an instance of the native binding class (a “class” is also referred to herein as an “extension”) and then setting several different properties on the instantiated object. Together, these various properties identify the different components of a binding. The native binding class is an example of a markup extension.